name: Sync docs with Readme

on:
  pull_request:
    paths:
      - "docs/pydoc/**"
  push:
    branches:
      - main

env:
  HATCH_VERSION: "1.9.3"
  PYTHON_VERSION: "3.10"

jobs:
  sync:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout this repo
        uses: actions/checkout@v4

      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: "${{ env.PYTHON_VERSION }}"

      - name: Install Hatch
        run: pip install hatch==${{ env.HATCH_VERSION }}

      - name: Generate API docs
        env:
          # This is necessary to fetch the documentation categories
          # from Readme.io as we need them to associate the slug
          # in config files with their id.
          README_API_KEY: ${{ secrets.README_API_KEY }}
        run: hatch run readme:sync

      - name: Sync docs with 2.0
        # Sync the docs to the `2.0` version on Readme
        id: sync-main
        if: github.ref_name == 'main' && github.event_name == 'push'
        uses: readmeio/rdme@v8
        with:
          rdme: docs ./docs/pydoc/temp --key=${{ secrets.README_API_KEY }} --version=v2.0

      - name: Delete outdated docs for 2.0
        if: github.ref_name == 'main' && github.event_name == 'push'
        env:
          README_API_KEY: ${{ secrets.README_API_KEY }}
        run: hatch run readme:delete-outdated  --version=v2.0 --config-path ./docs/pydoc/config
